<?php

//necessário para todas as páginas do admin (facilitador)
include("defaultAdmin.php");
require_once(PASTA_DAO."Ranking.class.php");
require_once(PASTA_DAO."HistoricoVenda.class.php");
require_once(PASTA_DAO."Voucher.class.php");
require_once(PASTA_DAO."Transacao.class.php");


//verificação se o usuário esta logado, cado contrário, este será redirecionado para o login.
if($objUsrSession->getIdAdministrador() == 0){
	HttpUtil::vaiPara("login.php?msg=1");
}

$objRanking = new Ranking();
$objHistoricoVenda = new HistoricoVenda();
$objVoucher = new Voucher();
$objTransacao = new Transacao();
if(!isset($_GET["a"]))
	$_GET["a"] = "";
switch ($_GET["a"]){
	case 'form':
		$cpf_usuario = $_GET["cpf_usuario"];
		$id_usuario = $_GET["id"];
		
		//Valor Total de pontos do usuario
		$valorTotalPontos = $objHistoricoVenda->getValorTotalPontosPorUsuario($cpf_usuario);
		
		//Valor Total de pontos de transacoes realizadas pelo usuario (expiracao ou resgate)
		$valorTotalTransacoes = $objTransacao->getValorTotalTransacoesPorUsuario($id_usuario);
		//Valor Total de pontos do usuario a vencer em até 1 mes
		$valorTotalPontosAteVencimento = $objHistoricoVenda->getTotalPontosVencerProximoMes($cpf_usuario);
		//debug($valorTotalPontosAteVencimento);
		$valorTotalPontosVencerProximoMes = 0;
		if(($valorTotalPontosAteVencimento[0] - $valorTotalTransacoes[0]) > 0)
			$valorTotalPontosVencerProximoMes = ($valorTotalPontosAteVencimento[0] - $valorTotalTransacoes[0]);
		
		//Total de pontos a vencer nos proximos 30 dias
		$objCtrlSmarty->assign("totalPontosVencer", $valorTotalPontosVencerProximoMes);
		
		//debug($valorTotalPontosAteVencimento[0]);
		//Saldo do usuario
		$objCtrlSmarty->assign("saldo_total_usuario",($valorTotalPontos[0] - $valorTotalTransacoes[0]));
		
		$arrSaldoUsuario = Utf8Parsers::matrizUtf8Encode(
				$objHistoricoVenda->getRegistrosSaldoUsuario($cpf_usuario, $id_usuario));
		
		$objCtrlSmarty->assign("arrSaldoUsuario", $arrSaldoUsuario);
		
		//Historico de vendas
		$arrHistoricoVendas = Utf8Parsers::matrizUtf8Encode($objHistoricoVenda->getHistoricoVendasPorUsuario($cpf_usuario));
		$valorTotalPontosVendidos = $objHistoricoVenda->getValorTotalPontosVendidosPorUsuario($cpf_usuario);			
		$totalPontosCancelados = Utf8Parsers::arrayUtf8Encode($objHistoricoVenda->getTotalPontosCancelados($cpf_usuario));
		
		$dataAtualizacaoHistorico =  Utf8Parsers::arrayUtf8Encode(
			$objHistoricoVenda->getDataAtualizacaoHistoricoVendas($cpf_usuario));
			
		$objCtrlSmarty->assign("arrHistoricoVendas", $arrHistoricoVendas);
		$objCtrlSmarty->assign("totalPontosHistoricoVendas", $valorTotalPontosVendidos[0] - $totalPontosCancelados[0]);
		$objCtrlSmarty->assign("dataAtualizacaoHistorico", $dataAtualizacaoHistorico[0]);
		
		
		//Historico de resgates
		$arrVouchersEmitidos = Utf8Parsers::matrizUtf8Encode($objVoucher->getHistoricoVouchersEmitidos($id_usuario));
		$totalPontosResgatados = Utf8Parsers::arrayUtf8Encode($objVoucher->getTotalPontosResgatados($id_usuario));
			
		$objCtrlSmarty->assign("totalPontosResgatados", $totalPontosResgatados[0]);
		$objCtrlSmarty->assign("arrVouchersEmitidos", $arrVouchersEmitidos);
		
		$objCtrlSmarty->assign("CONTEUDO_ADMIN",$objCtrlSmarty->fetch(TPLS_FILE."admin/formConsultarSaldoUsuario.tpl"));	
			
	break;
	case 'lista':
	default:
		if(isset($_GET["p"]) && $_GET["p"]!="" && is_numeric($_GET["p"]))
			$pagAtual = (int)$_GET["p"];
		else 
			$pagAtual = 0;	
		$objCtrlSmarty->assign("pagAtual", $pagAtual);
		$objCtrlSmarty->assign("EXIBIR_ACOES_RANKING", "S");
		$objCtrlSmarty->assign("EXIBIR_ACOES", "N");
		$objCtrlSmarty->assign("CONTEUDO_ADMIN",$objCtrlSmarty->fetch(TPLS_FILE."admin/listaRanking.tpl"));
	break;
}

//definição da estrutura do admin <cabecalho, corpo e rodape>
$objCtrlSmarty->assign("ESTRUTURA",$objCtrlSmarty->fetch(TPLS_FILE."admin/adminEstrutura.tpl"));

//ultima coisa que deve ter no arquivo, serve para imprimir a tela
$objCtrlSmarty->display(TPLS_FILE."index.tpl");
?>